home *** CD-ROM | disk | FTP | other *** search
- /*
- File: QTIC.h
-
- Contains: QuickTime Image Capture interfaces
-
- Version: Technology:
- Release: QTIC 1.0 interfaces
-
- Copyright: © 1996-1997 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@apple.com
-
- */
-
- #define MACINTOSH
-
- /* ------------------------------------------------------------------------- */
-
- #ifndef __QTIC__
- #define __QTIC__
-
- /* ------------------------------------------------------------------------- */
-
- // Required system include files:
-
- /* --- M A C I N T O S H --- */
- #ifdef MACINTOSH
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
-
- #ifndef __EVENTS__
- #include <Events.h>
- #endif
-
- #ifndef __DIALOGS__
- #include <Dialogs.h>
- #endif
-
- #ifndef __QUICKDRAW__
- #include <QuickDraw.h>
- #endif
-
- #ifndef __FILES__
- #include <Files.h>
- #endif
-
- #ifndef __COMPONENTS__
- #include <Components.h>
- #endif
-
- #ifndef __MOVIES__
- #include <Movies.h>
- #endif
-
- #ifndef __QUICKTIMECOMPONENTS__
- #include <QuickTimeComponents.h>
- #endif
-
- #ifndef __QUICKDRAW__
- #include <QuickDraw.h>
- #endif
-
- #ifndef __QDOFFSCREEN__
- #include <QDOffscreen.h>
- #endif
-
- #ifndef __OSUTILS__
- #include <OSUtils.h>
- #endif
-
- #define FuncPtr(type) pascal type
-
- #endif /* MACINTOSH */
- /* ------------------------- */
-
- /* ------------------------------------------------------------------------- */
-
- // These are necessary for the Macintosh
-
- /* --- M A C I N T O S H --- */
- #ifdef MACINTOSH
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if GENERATINGPOWERPC
- #pragma options align=mac68k
- #endif
-
- #ifdef __CFM68K__
- #pragma lib_export on
- #endif
-
- #endif /* MACINTOSH */
- /* ------------------------- */
-
- /* ------------------------------------------------------------------------- */
- /* ----------------------------------- QTIC -------------------------------- */
- /* ------------------------------------------------------------------------- */
-
- // Data types
- typedef ComponentInstance QTICControls;
- typedef ComponentInstance QTICPanel;
- typedef ComponentInstance QTICFilter;
- typedef ComponentInstance QTICBackStore;
- typedef ComponentInstance QTICDataConversion;
- typedef ComponentInstance QTICCamera;
-
- typedef OSType QTICFeatureType, *QTICFeatureTypePtr, **QTICFeatureTypeHandle;
- typedef OSType QTICDataType, *QTICDataTypePtr, **QTICDataTypeHandle;
-
- typedef struct QTICFileSpec {
- short inCamera; // MUST be 1
- long reserved; // MUST be -1
- Str63 name;
- } QTICFileSpec, *QTICFileSpecPtr, **QTICFileSpecHandle;
-
- typedef struct QTICDateTimeRec {
- short year;
- short month;
- short day;
- short hour;
- short minute;
- short second;
- short dayOfWeek; // 0 if unknown.
- } QTICDateTimeRec, *QTICDateTimeRecPtr, **QTICDateTimeRecHandle;
-
- // Feature data types
- typedef struct QTICListPair {
- Str31 description; // String description
- unsigned long value; // Type depends on valueType
- } QTICListPair;
-
- typedef struct QTICListData {
- unsigned long count; // Number of data pairs
- unsigned long factory; // Factory value
- QTICListPair data[1]; // Data type depends on valueType
- } QTICListData;
-
- typedef struct QTICRangeData {
- // Data type depends on valueType
- unsigned long min; // Minimum value
- unsigned long max; // Maximum value
- unsigned long factory; // Factory value
- } QTICRangeData ;
-
- typedef unsigned long QTICParamData;// QTICParamData will be either:
- // QTICRangeData, QTICListData,
- // Str31, or DOSNAME depending on valueType
-
- typedef struct QTICCapabilitiesData {
- QTICFeatureType type; // Feature type identifier
- unsigned long valueType; // Feature data type
- Str31 description; // Feature text description
- QTICParamData paramData[1]; // Feature capabilities data
- } QTICCapabilitiesData, *QTICCapabilitiesDataPtr, **QTICCapabilitiesDataHandle;
-
- typedef struct QTICCapabilitiesListData {
- QTICFeatureType type; // Feature type identifier
- unsigned long valueType; // Feature data type
- Str31 description; // Feature text description
- QTICListData listData; // Feature capabilities data
- } QTICCapabilitiesListData, *QTICCapabilitiesListDataPtr, **QTICCapabilitiesListDataHandle;
-
- typedef struct QTICCapabilitiesRangeData {
- QTICFeatureType type; // Feature type identifier
- unsigned long valueType; // Feature data type
- Str31 description; // Feature text description
- QTICRangeData rangeData; // Feature capabilities data
- } QTICCapabilitiesRangeData, *QTICCapabilitiesRangeDataPtr, **QTICCapabilitiesRangeDataHandle;
-
- typedef struct QTICCameraData {
- QTICFeatureType type; // Features type identifier
- unsigned long valueType; // Feature data type
- unsigned long data[1]; // Feature data
- } QTICCameraData, *QTICCameraDataPtr, **QTICCameraDataHandle;
-
- // Generic Camera data types
- typedef struct QTICSpecifications {
- unsigned long version; // version 0x01000000=1.0
- unsigned long hardwareRev; // rev in hex form: 0xabcdefgh = ab.cdefgh version.
- unsigned long firmwareRev;
- Str31 vendorName;
- Str31 productName;
- } QTICSpecifications, *QTICSpecificationsPtr, **QTICSpecificationsHandle;
-
- typedef struct QTICStatus {
- unsigned long version; // version 0x01000000=1.0
- long imagesLeft; // Number of images that can still be taken.
- // -1 if unknown.
- long imagesTaken; // Number of images taken.
- // -1 if unknown.
- long batteryLevel; // 1: Empty 255: Full Negative: Charging
- // 0: Unknown battery level not charging
- // -256: Unknown battery level while charging
- long currentTimer; // see 'mtdy' feature.
- unsigned long currentCompression; // see 'cmpn' feature.
- long currentImageDepth; // see 'impm' feature.
- unsigned long currentStrobe; // see 'smod' feature. nil if N/A.
- unsigned long currentMacro; // see 'mcro' feature. nil if N/A.
- Boolean captureReady; // true: ready to take picture
- Boolean strobeCharging; // true: charging
- Boolean strobeReady; // true: ready false: charging or strobe off
- Boolean macro; // true: macro on
- Boolean timer; // true: timer running
- Boolean deviceError; // true: device error has occured. Will
- // reset after QTICGetError called.
- } QTICStatus, *QTICStatusPtr, **QTICStatusHandle;
-
- typedef struct QTICFileInfo {
- unsigned long version; // version 0x01000000=1.0
- unsigned long fileType; // PICT, MooV, JPEG, EXIF, TIFF, etc.
- unsigned long creatorType; // File creator type. If none selected, use ''.
- long fileSize; // Total file size in bytes. -1 if unknown.
- QTICDateTimeRec creation; // Date and time when taken.
- QTICDateTimeRec modification; // Date and time when last modified.
- unsigned long imageDepth; // see 'impm' feature.
- unsigned long width; // Width in pixels.
- unsigned long height; // Height in pixels.
- UserData taggedData;
- } QTICFileInfo, *QTICFileInfoPtr, **QTICFileInfoHandle;
-
- typedef struct QTICError {
- QTICDateTimeRec dateTime;
- long errCode;
- Str63 errDescription; // C string describing error
- } QTICError, *QTICErrorPtr, **QTICErrorHandle;
-
- // Standard header for all settings.
- typedef struct QTICSettingsHeader {
- unsigned long size; // Size includes this header.
- unsigned long type;
- unsigned long subType;
- unsigned long manufacturer;
- unsigned long version;
- QTICDateTimeRec lastUpdated;
- } QTICSettingsHeader;
-
- // Controls Component settings.
- typedef struct QTICControlSettings {
- QTICSettingsHeader header;
-
- unsigned long cameraType;
- unsigned long cameraSubType;
- unsigned long cameraManufacturer;
- } QTICControlSettings;
-
- // Panel Component settings for most panels including (Movie, Viewer, and Picture).
- typedef struct QTICPanelSettings {
- QTICSettingsHeader header;
-
- Rect windowLoc;
- FSSpec file;
-
- long dataType;
- void *data;
- } QTICPanelSettings;
-
- // ValueType definitions
- #define kQTIC_VT_unsigned_long 1
- #define kQTIC_VT_long 2
- #define kQTIC_VT_Fixed 3
- #define kQTIC_VT_Boolean 4
- #define kQTIC_VT_BitFlags 5
- #define kQTIC_VT_PName 6
- #define kQTIC_VT_DosName 7
- #define kQTIC_VT_Str31 8
- #define kQTIC_VT_ListData 9
-
- // Error codes.
- #define kQTIC_Error -6200
- #define kQTIC_noErr noErr
- #define kQTIC_commErr kQTIC_Error - 0
- #define kQTIC_noCameraErr kQTIC_Error - 1
- #define kQTIC_cantOpenPanelErr kQTIC_Error - 2
- #define kQTIC_printErr kQTIC_Error - 3
-
- #define kQTIC_userAbortedErr userCanceledErr
- #define kQTIC_dskFulErr dskFulErr
- #define kQTIC_featureUnsupportedErr featureUnsupported
- #define kQTIC_paramErr paramErr
- #define kQTIC_memFullErr memFullErr
- #define kQTIC_fBsyErr fBsyErr
-
- // Component types.
- #define kQTICControlsComponentType 'cmrc'
- #define kQTICPanelComponentType 'cmrp'
- #define kQTICCameraComponentType 'cmra'
- #define kQTICFilterComponentType 'filt'
- #define kQTICBackStoreComponentType 'bkst'
- #define kQTICDataConversionComponentType 'dcnv'
-
- // Component subtypes.
- #define kQTICControlsComponentSubType 'jwdt'
- #define kQTICPComponentManufacturer 'appl'
- #define kQTICPPictPanelComponentSubType 'pict'
- #define kQTICPMoviePanelComponentSubType 'moov'
- #define kQTICPViewerPanelComponentSubType 'view'
- #define kQTICPTextPanelComponentSubType 'text'
- #define kQTICPGenericMainPanelComponentSubType 'main'
- #define kQTICPStampsPanelComponentSubType 'stmp'
- #define kQTICPImageInfoPanelComponentSubType 'iinf'
- #define kQTICPLiveViewPanelComponentSubType 'live'
- #define kQTICPPrintPanelComponentSubType 'prnt'
- #define kQTICPMovieMakerPanelComponentSubType 'mmak'
-
- // Panel Component flags.
- #define kQTICP_MainPanelFlag 0x800000 /* Used to identify main panels. */
- #define kQTICP_PrefsPanelFlag 0x400000 /* Used to identify preferences panels. */
- #define kQTICP_ShowHidePanelFlag 0x200000 /* Used to identify panels that will have show and hide. */
- #define kQTICP_NeedsNewMenuFlag 0x008000 /* Used to identify panels that can be put into New menu. */
- #define kQTICP_OpenAtStartupFlag 0x004000 /* Used to identify panels that are to be opened at startup. */
-
- // DataType Definitions
- #define kQTICP_FILE_TYPE 'file' // File contents are: 'PICT', 'JPEG", 'EXIF', 'TIFF'
- #define kQTICP_BKST_TYPE 'bkst'
- #define kQTICP_THUM_TYPE 'thum'
- #define kQTICP_PICT_TYPE 'PICT'
- #define kQTICP_TIFF_TYPE 'TIFF'
- #define kQTICP_JPEG_TYPE 'JPEG'
- #define kQTICP_EXIF_TYPE 'EXIF'
- #define kQTICP_DIB_TYPE 'DIB '
- #define kQTICP_GWLD_TYPE 'gwld'
- #define kQTICP_Movie_TYPE 'MooV'
-
- // Busy Cursor Flags
- #define kQTIC_BusyCursor_ON 1
- #define kQTIC_BusyCursor_OFF 0
-
- /* ------------------------------------------------------------------------- */
- /* --------------------- QuickTime™ IC Controls Component ------------------ */
- /* ------------------------------------------------------------------------- */
-
- /* --- M A C I N T O S H --- */
- #ifdef MACINTOSH
-
- // Component routine selectors.
- enum {
- // Controls Routines
- kQTICCAboutBoxSelect = 0x01,
- kQTICCInitializeSelect = 0x02,
- kQTICCGetSettingsSelect = 0x03,
- kQTICCSetSettingsSelect = 0x04,
- kQTICCSelectCameraSelect = 0x05,
- kQTICCGetCameraSelect = 0x06,
- kQTICCSetCameraSelect = 0x07,
- kQTICCGetNumPanelsSelect = 0x08,
- kQTICCGetPanelsSelect = 0x09,
-
- // Control Event Handling Routines
- kQTICCIsPanelSelect = 0x11,
- kQTICCOpenPanelSelect = 0x12,
- kQTICCCloseWindowSelect = 0x13,
- kQTICCEventSelect = 0x14,
- kQTICCIdleSelect = 0x15,
- kQTICCUpdateCustomMenuSelect = 0x16,
- kQTICCDoCustomMenuSelect = 0x17,
- kQTICCGetMenuNameSelect = 0x18,
-
- // Control Action Routines
- kQTICCDoActionSelect = 0x21,
- kQTICCInstallActionFilterSelect = 0x22,
- kQTICCRemoveActionFilterSelect = 0x23,
- kQTICCReportErrorSelect = 0x24,
- kQTICCGetBusyCursorSelect = 0x25,
- kQTICCSetBusyCursorSelect = 0x26,
-
- // Camera Routines.
- kQTICCConnectSelect = 0x102,
- kQTICCIsConnectedSelect = 0x103,
-
- // Camera Info Routines.
- kQTICCGetSpecificationsSelect = 0x110,
- kQTICCGetStatusSelect = 0x111,
- kQTICCGetErrorSelect = 0x112,
-
- // Camera Feature Routines.
- kQTICCGetFeatureListSelect = 0x120,
- kQTICCGetFeatureCapabilitySelect = 0x121,
- kQTICCGetFeatureSelect = 0x122,
- kQTICCSetFeatureSelect = 0x123,
- kQTICCGetFeatureDefaultSelect = 0x124,
- kQTICCSetFeatureDefaultSelect = 0x125,
- kQTICCRestoreFeatureDefaultSelect = 0x126,
-
- // Camera Data Routines.
- kQTICCStartCaptureSelect = 0x130,
- kQTICCStopCaptureSelect = 0x131,
- kQTICCGetFileListSelect = 0x132,
- kQTICCGetFileInfoSelect = 0x133,
- kQTICCEraseFileSelect = 0x134,
- kQTICCGetDataSelect = 0x135,
- kQTICCSetDataSelect = 0x136,
-
- // Camera System Utilities Routines.
- kQTICCGetClockSelect = 0x140,
- kQTICCSetClockSelect = 0x141
- };
-
- // QTICActionFilterWithRefCon.
- typedef FuncPtr(Boolean) (*QTICActionFilterWithRefConProcPtr)(QTICControls controls, short action, void *param1, void *param2, void *param3, void *param4, long refCon);
-
- #if GENERATINGCFM
- enum {
- uppQTICActionFilterWithRefConProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(QTICControls)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(void *)))
- | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(long)))
- };
- typedef UniversalProcPtr QTICActionFilterWithRefConUPP;
-
- #define CallQTICActionFilterWithRefConProc(userRoutine, controls, action, param1, param2, param3, param4, refCon) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppQTICActionFilterWithRefConProcInfo, (controls), (action), (param1), (param2), (param3), (param4), (refCon))
- #define NewQTICActionFilterWithRefConProc(userRoutine) \
- (QTICActionFilterWithRefConUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTICActionFilterWithRefConProcInfo, GetCurrentISA())
- #else
- typedef QTICActionFilterWithRefConProcPtr QTICActionFilterWithRefConUPP;
-
- #define CallQTICActionFilterWithRefConProc(userRoutine, controls, action, param1, param2, param3, param4, refCon) \
- (*(userRoutine)) ((controls), (action), (param1), (param2), (param3), (param4), (refCon))
- #define NewQTICActionFilterWithRefConProc(userRoutine) \
- (QTICActionFilterWithRefConUPP)(userRoutine)
- #endif
-
- // Flags for File and Edit DoAction.
- #define kQTICFILE_SAVE_FLAG 0x1
- #define kQTICFILE_SAVEAS_FLAG 0x2
- #define kQTICFILE_GETINFO_FLAG 0x4
- #define kQTICFILE_PAGESETUP_FLAG 0x8
- #define kQTICFILE_PRINT_FLAG 0x10
- #define kQTICFILE_ALLFLAGS 0x1f
-
- #define kQTICEDIT_UNDO_FLAG 0x1
- #define kQTICEDIT_CUT_FLAG 0x2
- #define kQTICEDIT_COPY_FLAG 0x4
- #define kQTICEDIT_PASTE_FLAG 0x8
- #define kQTICEDIT_CLEAR_FLAG 0x10
- #define kQTICEDIT_SELECTALL_FLAG 0x20
- #define kQTICEDIT_SELECTNONE_FLAG 0x40
- #define kQTICEDIT_ALLFLAGS 0x7f
-
- // QTICCDoAction selectors.
- enum {
- // File.
- kQTICActionFileGetMenuFlags = 0x001, // WindowRef theWindow, short *flags, (unused), (unused)
- kQTICActionFileSave = 0x002, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionFileSaveAs = 0x003, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionFileGetInfo = 0x004, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionFilePageSetup = 0x005, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionFilePrint = 0x006, // WindowRef theWindow, (unused), (unused), (unused)
-
- // Edit.
- kQTICActionEditGetMenuFlags = 0x011, // WindowRef theWindow, short *flags, (unused), (unused)
- kQTICActionEditUndo = 0x012, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionEditCut = 0x013, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionEditCopy = 0x014, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionEditPaste = 0x015, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionEditClear = 0x016, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionEditSelectAll = 0x017, // WindowRef theWindow, (unused), (unused), (unused)
- kQTICActionEditSelectNone = 0x018, // WindowRef theWindow, (unused), (unused), (unused)
-
- // Panels.
- kQTICActionOpenPanelByComponent = 0x020, // Component theComponent, Handle panelSettings, (unused), (unused)
- kQTICActionClosePanelByComponent = 0x021, // Component theComponent, (unused), (unused), (unused)
- kQTICActionIsPanelOpenByComponent = 0x022, // Component theComponent, (unused), (unused), (unused)
- kQTICActionOpenPanelBySubType = 0x023, // OSType componentSubType, Handle panelSettings, (unused), (unused)
- kQTICActionClosePanelBySubType = 0x024, // OSType componentSubType, (unused), (unused), (unused)
- kQTICActionIsPanelOpenBySubType = 0x025, // OSType componentSubType, (unused), (unused), (unused)
- kQTICActionOpenPanelByFlag = 0x026, // unsigned long componentFlag, Handle panelSettings, (unused), (unused)
- kQTICActionClosePanelByFlag = 0x027, // unsigned long componentFlag, (unused), (unused), (unused)
- kQTICActionIsPanelOpenByFlag = 0x028, // unsigned long componentFlag, (unused), (unused), (unused)
- kQTICActionClosePanelByInstance = 0x029, // ComponentInstance theInstance, (unused), (unused), (unused)
-
- // Opening panels using file and data.
- kQTICActionOpenFile = 0x031, // OSType fileType ('' if unknown), QTICFileSpec/FSSpec *theFile, (unused), (unused)
- kQTICActionOpenData = 0x032, // OSType dataType, void *data, QTICFileSpec/FSSpec *theFile, (unused)
- kQTICActionOpenFileWithDialog = 0x033, // (unused), (unused), (unused), (unused)
- kQTICActionOpenCameraViewer = 0x034, // (unused), (unused), (unused), (unused)
- kQTICActionOpenFolderViewer = 0x035, // (unused), (unused), (unused), (unused)
- kQTICActionOpenImageInfo = 0x036, // QTICFileInfoHandle fileInfo, QTICFileSpec/FSSpec *theFile, (unused), (unused)
- kQTICActionCloseCameraViewer = 0x037, // (unused), (unused), (unused), (unused)
-
- // Utility.
- kQTICActionSaveImageFile = 0x040, // QTICBackStore bsToSave, FSSpec *theFile, (unused), (unused)
- kQTICActionSaveImageFileWithDialog = 0x041, // QTICBackStore bsToSave, FSSpec *theFile, (unused), (unused)
- kQTICActionSelectFolder = 0x042, // FSSpec *selectedFolder, (unused), (unused), (unused)
- kQTICActionSelectFolderWithNew = 0x043, // FSSpec *selectedFolder, (unused), (unused), (unused)
- kQTICActionOkCancelDialog = 0x044, // unsigned char *prompt, short defaultItem, (unused), (unused)
-
- // Event notification.
- kQTICActionBeforeMenuSelect = 0x050, // MenuHandle file, MenuHandle edit, (unused), (unused)
- kQTICActionAfterMenuSelect = 0x051, // MenuHandle file, MenuHandle edit, (unused), (unused)
- kQTICActionBeforeMenuKey = 0x052, // MenuHandle file, MenuHandle edit, (unused), (unused)
- kQTICActionAfterMenuKey = 0x053, // MenuHandle file, MenuHandle edit, (unused), (unused)
- kQTICActionSetErrorReporting = 0x054, // Boolean newValue, (unused), (unused), (unused)
- kQTICActionGetErrorReporting = 0x055, // Boolean *origValue, (unused), (unused), (unused)
- kQTICActionSetErrorReportingInDrag = 0x056, // Boolean newValue, (unused), (unused), (unused)
- kQTICActionGetErrorReportingInDrag = 0x057, // Boolean *origValue, (unused), (unused), (unused)
- kQTICActionSetEnablingViewerDrag = 0x058, // Boolean newValue, (unused), (unused), (unused)
- kQTICActionGetEnablingViewerDrag = 0x059 // Boolean *origValue, (unused), (unused), (unused)
- };
-
- // Prototypes.
-
- // Controls Routines
- pascal ComponentResult QTICCAboutBox(QTICControls controls)
- FIVEWORDINLINE(0x2F3C, 0x0, kQTICCAboutBoxSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCInitialize(QTICControls controls, Handle settings)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCInitializeSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetSettings(QTICControls controls, QTICSettingsHeader *header, Handle *settings)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCGetSettingsSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSetSettings(QTICControls controls, QTICSettingsHeader *header, Handle settings)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCSetSettingsSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSelectCamera(QTICControls controls)
- FIVEWORDINLINE(0x2F3C, 0x0, kQTICCSelectCameraSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetCamera(QTICControls controls, Component *cameraComponent, QTICCamera *cameraInstance)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCGetCameraSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSetCamera(QTICControls controls, Component cameraComponent)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCSetCameraSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetNumPanels(QTICControls controls, short *numPanels)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCGetNumPanelsSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetPanels(QTICControls controls, Component *panels)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCGetPanelsSelect, 0x7000, 0xA82A);
-
- // Control Event Handling Routines
- pascal ComponentResult QTICCIsPanel(QTICControls controls, WindowRef theWindow, QTICPanel *panel)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCIsPanelSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCOpenPanel(QTICControls controls, Component compon, QTICPanel *panel, Handle settings)
- FIVEWORDINLINE(0x2F3C, 0xc, kQTICCOpenPanelSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCCloseWindow(QTICControls controls, WindowRef theWindow)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCCloseWindowSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCEvent(QTICControls controls, EventRecord *theEvent)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCEventSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCIdle(QTICControls controls)
- FIVEWORDINLINE(0x2F3C, 0x0, kQTICCIdleSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCUpdateCustomMenu(QTICControls controls, WindowRef theWindow, MenuHandle mHandle)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCUpdateCustomMenuSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCDoCustomMenu(QTICControls controls, WindowRef theWindow, MenuHandle mHandle, short selectedItem)
- FIVEWORDINLINE(0x2F3C, 0xa, kQTICCDoCustomMenuSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetMenuName(QTICControls controls, WindowRef theWindow, unsigned char *name)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCGetMenuNameSelect, 0x7000, 0xA82A);
-
- // Control Action Routines
- pascal ComponentResult QTICCDoAction(QTICControls controls, short action, void *param1, void *param2, void *param3, void *param4)
- FIVEWORDINLINE(0x2F3C, 0x12, kQTICCDoActionSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCInstallActionFilter(QTICControls controls, QTICActionFilterWithRefConUPP filter, long refCon)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCInstallActionFilterSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCRemoveActionFilter(QTICControls controls, QTICActionFilterWithRefConUPP filter, long refCon)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCRemoveActionFilterSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCReportError(QTICControls controls, unsigned char *errStr, ComponentResult cerr)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCReportErrorSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetBusyCursor(QTICControls controls, short *getState)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCGetBusyCursorSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSetBusyCursor(QTICControls controls, short setState)
- FIVEWORDINLINE(0x2F3C, 0x2, kQTICCSetBusyCursorSelect, 0x7000, 0xA82A);
-
- // Camera Routines
- pascal ComponentResult QTICCConnect(QTICControls controls, Boolean connected)
- FIVEWORDINLINE(0x2F3C, 0x2, kQTICCConnectSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCIsConnected(QTICControls controls, Boolean *isConnected)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCIsConnectedSelect, 0x7000, 0xA82A);
-
- // Camera Info Routines
- pascal ComponentResult QTICCGetSpecifications(QTICControls controls, QTICSpecificationsHandle specifications)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCGetSpecificationsSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetStatus(QTICControls controls, QTICStatusHandle status)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCGetStatusSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetError(QTICControls controls, QTICErrorHandle error)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCGetErrorSelect, 0x7000, 0xA82A);
-
- // Camera Feature Routines
- pascal ComponentResult QTICCGetFeatureList(QTICControls controls, long *numberFeatures, QTICFeatureTypeHandle *typeList)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCGetFeatureListSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetFeatureCapability(QTICControls controls, QTICFeatureType type, QTICCapabilitiesDataHandle *capability)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCGetFeatureCapabilitySelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetFeature(QTICControls controls, QTICFeatureType type, QTICCameraDataHandle *data)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCGetFeatureSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSetFeature(QTICControls controls, QTICCameraDataHandle data)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCSetFeatureSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetFeatureDefault(QTICControls controls, QTICFeatureType type, Boolean defaultType, QTICCameraDataHandle *data)
- FIVEWORDINLINE(0x2F3C, 0xa, kQTICCGetFeatureDefaultSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSetFeatureDefault(QTICControls controls, QTICCameraDataHandle data)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCSetFeatureDefaultSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCRestoreFeatureDefault(QTICControls controls, QTICFeatureType type, Boolean defaultType)
- FIVEWORDINLINE(0x2F3C, 0x6, kQTICCRestoreFeatureDefaultSelect, 0x7000, 0xA82A);
-
- // Camera Data Routines
- pascal ComponentResult QTICCStartCapture(QTICControls controls, QTICDataType type, Handle params)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCStartCaptureSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCStopCapture(QTICControls controls, QTICDataType type, Handle params)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCStopCaptureSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetFileList(QTICControls controls, QTICFileSpec *start, long *numberFiles, QTICFileSpecHandle *fileList)
- FIVEWORDINLINE(0x2F3C, 0xc, kQTICCGetFileListSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetFileInfo(QTICControls controls, QTICFileSpec *file, QTICFileInfoHandle fileInfo)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICCGetFileInfoSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCEraseFile(QTICControls controls, QTICFileSpec *file)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCEraseFileSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCGetData(QTICControls controls, QTICDataType type, QTICFileSpec *file, Handle params, Handle *data)
- FIVEWORDINLINE(0x2F3C, 0x10, kQTICCGetDataSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSetData(QTICControls controls, QTICDataType type, QTICFileSpec *file, Handle params, Handle data)
- FIVEWORDINLINE(0x2F3C, 0x10, kQTICCSetDataSelect, 0x7000, 0xA82A);
-
- // Camera System Utilities Routines
- pascal ComponentResult QTICCGetClock(QTICControls controls, QTICDateTimeRec *dateTime)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCGetClockSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICCSetClock(QTICControls controls, QTICDateTimeRec *dateTime)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICCSetClockSelect, 0x7000, 0xA82A);
-
- #endif /* MACINTOSH */
- /* ------------------------- */
-
- /* ------------------------------------------------------------------------- */
- /* -------------------- QuickTime IC™ Panel Component ---------------------- */
- /* ------------------------------------------------------------------------- */
-
- /* --- M A C I N T O S H --- */
- #ifdef MACINTOSH
-
- // Component type.
-
- // Component routine selectors.
- enum {
- // Panel Routines.
- kQTICPAboutBoxSelect = 0x01,
- kQTICPInitializeSelect = 0x02,
- kQTICPSetControlsSelect = 0x03,
- kQTICPGetSettingsSelect = 0x04,
- kQTICPSetSettingsSelect = 0x05,
- kQTICPCanUseCameraSelect = 0x06,
-
- // Panel Event Handling Routines.
- kQTICPIsPanelSelect = 0x11,
- kQTICPCloseWindowSelect = 0x12,
- kQTICPEventSelect = 0x13,
- kQTICPIdleSelect = 0x14,
- kQTICPInContentDoubleSelect = 0x15,
- kQTICPInContentSelect = 0x16,
- kQTICPGetGrowSizeSelect = 0x17,
- kQTICPGrowWindowSelect = 0x18,
- kQTICPZoomWindowSelect = 0x19,
- kQTICPDoKeyDownSelect = 0x1a,
- kQTICPDrawSelect = 0x1b,
- kQTICPUpdateCustomMenuSelect = 0x1c,
- kQTICPDoCustomMenuSelect = 0x1d,
- kQTICPGetMenuNameSelect = 0x1e,
- kQTICPFinishCustomMenuSelect = 0x1f,
- kQTICPActivateSelect = 0x20,
- kQTICPDeactivateSelect = 0x21
- };
-
- // Prototypes.
-
- // Panel Routines.
- pascal ComponentResult QTICPAboutBox(QTICPanel qtcp)
- FIVEWORDINLINE(0x2F3C, 0x0, kQTICPAboutBoxSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPInitialize(QTICPanel qtcp, Handle settings)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPInitializeSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPSetControls(QTICPanel qtcp, QTICControls controls)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPSetControlsSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPGetSettings(QTICPanel qtcp, Handle *settings)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPGetSettingsSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPSetSettings(QTICPanel qtcp, Handle settings)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPSetSettingsSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPCanUseCamera(QTICPanel qtcp, QTICControls controls)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPCanUseCameraSelect, 0x7000, 0xA82A);
-
- // Panel Event Handling Routines.
- pascal ComponentResult QTICPIsPanel(QTICPanel qtcp, WindowRef theWindow)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPIsPanelSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPCloseWindow(QTICPanel qtcp, WindowRef theWindow)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPCloseWindowSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPEvent(QTICPanel qtcp, EventRecord *theEvent)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPEventSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPIdle(QTICPanel qtcp)
- FIVEWORDINLINE(0x2F3C, 0x0, kQTICPIdleSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPInContentDouble(QTICPanel qtcp, WindowRef theWindow, EventRecord *theEvent)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICPInContentDoubleSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPInContent(QTICPanel qtcp, WindowRef theWindow, EventRecord *theEvent)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICPInContentSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPGetGrowSize(QTICPanel qtcp, WindowRef theWindow, Rect *size)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICPGetGrowSizeSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPGrowWindow(QTICPanel qtcp, WindowRef theWindow, Rect *old, Rect *new)
- FIVEWORDINLINE(0x2F3C, 0xc, kQTICPGrowWindowSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPZoomWindow(QTICPanel qtcp, WindowRef theWindow, short windowPart)
- FIVEWORDINLINE(0x2F3C, 0x6, kQTICPZoomWindowSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPDoKeyDown(QTICPanel qtcp, WindowRef theWindow, EventRecord *theEvent)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICPDoKeyDownSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPDraw(QTICPanel qtcp, WindowRef theWindow)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPDrawSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPUpdateCustomMenu(QTICPanel qtcp, WindowRef theWindow, MenuHandle mHandle)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICPUpdateCustomMenuSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPDoCustomMenu(QTICPanel qtcp, WindowRef theWindow, MenuHandle mHandle, short selectedItem)
- FIVEWORDINLINE(0x2F3C, 0xa, kQTICPDoCustomMenuSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPGetMenuName(QTICPanel qtcp, WindowRef theWindow, unsigned char *name)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICPGetMenuNameSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPFinishCustomMenu(QTICPanel qtcp, WindowRef theWindow, MenuHandle mHandle)
- FIVEWORDINLINE(0x2F3C, 0x8, kQTICPFinishCustomMenuSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPActivate(QTICPanel qtcp, WindowRef theWindow)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPActivateSelect, 0x7000, 0xA82A);
- pascal ComponentResult QTICPDeactivate(QTICPanel qtcp, WindowRef theWindow)
- FIVEWORDINLINE(0x2F3C, 0x4, kQTICPDeactivateSelect, 0x7000, 0xA82A);
-
- #endif /* MACINTOSH */
- /* ------------------------- */
-
- /* ------------------------------------------------------------------------- */
-
- // These are necessary for the Macintosh
-
- /* --- M A C I N T O S H --- */
- #ifdef MACINTOSH
-
- #ifdef __CFM68K__
- #pragma lib_export off
- #endif
-
- #if GENERATINGPOWERPC
- #pragma options align=reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* MACINTOSH */
- /* ------------------------- */
-
- /* ------------------------------------------------------------------------- */
-
- #endif /* __QTIC__ */
-